1. Field of the Invention
This invention relates to a data reproduction apparatus and method suitable for use in a rapid reproduction in a chronologically forward or backward direction of picture data or voice data stored on disk recording media, such as, for example, an optical disk or a megneto-optical disk.
2. Description of Related Art
One of optical disk apparatus designed to reproduce data (referred hereinafter to as MPEG data) dynamic picture or voice data compressed by a picture compression method according to a certain prescribed standard such as, for example, MPEG (Motion Picture Experts Group) and stored in an optical disk or other recording media was, for example, one shown in FIG. 1.
In this optical disk apparatus 100, MPEG data stored in the optical disk 101 is reproduced by the irradiation of laser beam on the optical disk 101 and by the pickup of the reflected beam with an optical pickup 102. At this time, MPEG data detected by the optical pickup 102 are inputted into a demodulator circuit 103 to be demodulated. The MPEG data demodulated by the demodulator circuit 103 are supplied to a ring buffer memory 106 through a sector detection section 104 and a memory controller 105, and then are corrected and decoded to be outputted.
Here the sector detection circuit 104 detects sector address numbers (addresses allocated to the sectors of the optical disk 101) from MPEG data demodulated in the demodulator circuit 103 and outputs the same to the memory controller 105. Here, if the sector detection circuit is unable to detect sector address numbers or if the sector address numbers that may be detected are not consecutive, the sector detection circuit outputs a sector address number anomaly signal to a track-jump control circuit 107.
An error correction circuit 108 reads the MPEG data supplied by the demodulator circuit 103 through the sector detection circuit 104 and stored in the ring buffer memory 106 to detect errors and uses parity bits added to the MPEG data (parity information) to correct the errors. When this error correction circuit 108 cannot correct the data errors even as a result of corrections made, the same circuit outputs an error occurrence signal to the track-jump control circuit. The corrected MPEG data, after being subjected to the detection of errors at the error detection part 109, are supplied to the ring buffer memory 106 to be stored therein according to the control of the memory controller 105.
The memory controller 105 controls the data destined to be stored in the ring buffer memory 106. The memory controller 105 reads the sector address number for each sector of the optical disk 101 from the output of the sector detection circuit 104 and specifies write addresses (write pointers WP) that cause the data coining from the sector detection circuit 104 to be stored in the ring buffer memory 106 (to be written in the ring buffer memory 106) in response to the sector address numbers. In addition, the memory controller 105 determines whether the volume of data stored in the ring buffer memory 106 proceeding from the sector detection circuit 104 exceeds an ECC (Error Correction Codes) block and specifies the addresses for reading MPEG data from the ring buffer memory 105 and writing the same in the error correction circuit 108 and the addresses for storing the corrected MPEG data in the ring buffer memory 106 (ECC end pointers EP).
And the memory controller 105 specifies the readout addresses (output pointers RP) for reading the MPEG data written in the ring buffer memory 106 based on code request signals proceeding from a video decoder 111 and an audio decoder 112 provided at a later stage. And these request signals cause data to be read from the ring buffer memory 106.
The MPEG data to be reproduced and outputted are supplied to a multiplexer 110 from the ring buffer memory 106. According to information contained in the packet header, the multiplexer 110 separates video data and audio data. The separated video data are supplied to the video decoder 111 through a video buffer 113. The audio data are supplied to the audio decoder 112 through an audio buffer 114. The video decoder 111 decodes according to, for example, the MPEG2 standard. The video data and audio data decoded as are subjected to a D/A conversion process to be outputted through the output terminals 115 and 116.
In the prior optical disk apparatus 100, the MPEG data written in the ring buffer memory 106 are subjected to a correction of errors as and are then supplied to the video buffer 113 in response to a code request signal proceeding from the video decoder 111. Here, when for example simple picture-related data processing continues and the volume of data transfer from the video buffer 113 to the video decoder 111 decreases, the volume of data transfer from the ring buffer memory 106 to the video buffer 113 also decreases. In such a case, the volume of data stored in the ring buffer memory 106 increases and there may be an overflow of data. As a result, the track-jump control circuit 107 calculates (detects) the volume of data currently stored in the ring buffer memory 106 with the help of the write pointers WP and the reproduction pointers RP controlled by the memory controller 105, and when the data volume has exceeded the previously set standard value, the circuit determines that the ring buffer memory 106 may overflow and outputs a track-jump command to a servo circuit 117.
On detecting a sector address number anomaly signal proceeding from the sector detection circuit 104 or an error occurrence signal proceeding from the error correction circuit 108, the track-jump control circuit 107 calculates the volume of data that can be outputted and remaining in the ring buffer memory 106 from the ECC end pointer EP and the output pointer RP controlled by the memory controller 105, and calculates also the volume of data required to assure that the data are read out from the ring buffer memory 106 and written into the video buffer memory while the optical disk 101 makes a round (while the optical disk waits for a round) from the present position. When the volume of residual data in the ring buffer memory 106 is important, even if the MPEG data are read at the maximum transfer rate from the ring buffer memory 106, no underflow occurs in the ring buffer memory 106. Therefore, the track-jump control circuit 107 determines that it is possible to recover from the error by having the data at the error position reproduced again with an optical pickup 102, and outputs a track jump command to the servo circuit 117.
When the track jump control circuit outputs a track jump command, the servo circuit 117 makes the optical pickup jump track at the reproduction position. In other words, when for example the MPEG data are stored from an outer track towards an inner track of the optical disk 101, the servo circuit makes the optical pickup 102 jump from the present position to a adjacent track on the outer side, and during the time while the reproduction position of the optical pickup 12 returns to the former position by making another round, in other words while the sector address number obtained by the sector detection circuit 104 returns to the sector address number of the moment when a track jump occurred, new writing of MPEG data into the ring buffer memory 106 is inhibited, and the MPEG data which have already been stored in the ring buffer memory 106 are transferred as required to the video buffer 113.
If, after a track jump, the sector address number obtained from the sector detection circuit 104 agrees with the sector address number at the moment of the track jump, but still the volume of data stored in the ring buffer memory 105 exceeds the set standard value, in other words when there is a possibility that the ring buffer memory may overflow, the writing of MPEG data into the ring buffer memory 105 is not resumed, and another track jump is tried.
A system controller 118 controls the parts, and specifies in advance the data to be written in the ring buffer memory 106 for reproduction in the sector detection part 104 as sector address numbers. For example, the system controller 118 specifies the write-start-specifying address (SSA) and the write-end address (ESA). And when the MPEG data stored in the optical disk 101 are reproduced, the system controller supplies the track-jump control circuit 107 with a write-start-specifying address (SSA) to output a track-jump command to the servo circuit 107. This serves as an occasion for the servo circuit 117 to drive the optical pickup 102 so that it may jump to a track position according to the write-start-specifying address SSA. The sector detection part 104 detects sector address numbers from the MPEG data demodulated by the demodulator circuit and outputs the same to the memory controller 105. The memory controller 105 reads sector address number for each sector of the optical disk 101 and compares the write-start-specifying address SSA and the write-end address ESA for each sector to determine whether they agree or not.
For example, the optical disk apparatus 100 designed to reproduce MPEG data writes MPEG data in the ring buffer memory 106 by the ECC block. In other words, MPEG data starting with the ECC block containing the MPEG data of a sector where the sector address number agrees with the write-start-specifying address SSA and ending with the ECC block containing the MPEG data of a sector where the sector address number agrees with the write-end address ESA are entered into the ring buffer memory 106.
And the sector detection part 104 creates start-of-sector information, end-of-sector information and output specifying information as the sector information for each sector, and writes the same along with the MPEG data in a specified area of the ring buffer memory 106. The start-of-sector information, end-of-sector information and output specifying information are expressed by 1-bit data. The start-of-sector information is expressed by “1,” when the sector address detected by the sector detection part 104 agrees with the write-start-specifying address SSA, and the end-of-sector information is expressed by “1,” when the sector address detected by the sector detection part 104 agrees with the write-end address ESA, and the output specifying information is expressed by “1,” when the sector address detected by the sector detection part 104 is between the write-start-specifying address SSA and the write-end address ESA.
This sector information is read out from the ring buffer memory 106 to be written into the memory controller 105 before data are read for each sector when data are outputted from the ring buffer memory 106 to the demultiplexer 110 after the error correction and the error detection are completed. Based on bits contained in the output specifying sector information, the system controller 118 is used to judge whether the MPEG data should be outputted from the ring buffer memory 106 to the decoders 111 and 112 at the later stage and to decide whether data strobe signals should be outputted together with the data outputted by the ring buffer memory 106. The data strobe signals are a signal designed to control the operation of the decoders 111 and 112. When they are effective, the decoders 111 and 112 receive the MPEG data from the ring buffer memory 106 and when they are ineffective, the decoders do not receive the same.
For example, when as shown in FIG. 2 the sectors (2)˜(D) of the ECC block (N) are specified for output, the sectors (0)˜(F) of the ECC block (N) are entered in the ring buffer memory 106 to be followed by the correction of errors. Then, when the sectors (4)˜(C) of the ECC block (M) are specified for output, the sectors (0)˜(F) of the ECC block (M) are stored in the ring buffer memory 106 to be followed with the correction of errors. After the correction of errors, as shown in FIG. 3, only the MPEG data with output-specified sectors will have effective (1) data strobe signals (STB). For example, the decoders 111 and 112 receive the MPEG data (DATA) when the data strobe signal (STB) is “1” at a time when the clock (CLK) shows “1.” Here, the asterisk * shown in FIG. 3 indicates that the data are effective. In this way, in a prior optical disk apparatus 100, sector information is used to control the output of the ring buffer memory 106 and the MPEG data are reproduced without ensuring that the system controller specifies the output for each sector.
When a prior optical disk apparatus 100 is used for rapid reproduction in the forward direction or the backward direction and the video decoder 111 is used to decode only I picture conforming to the MPEG standard for rapid reproduction, the system controller 118 sometimes fails to identify the position where the I picture is arranged from among the MPEG data stored in the optical disk 101. In such a situation, the system controller 118 sets the write-start-specifying address SSA at an appropriate value, and the write-end address ESA at a sufficiently large value in comparison with the set value of the write-start-specifing address SSA. Then, the system controller 118 starts reproducing, outputs the MPEG data having been subjected to the detection of sectors, buffering and the correction of errors to the video decoder 111 and controls the video decoder 111 in such a way that a single I picture would be reproduced thereby. Then, the system controller 118 makes the optical pickup 102 to jump to a position of a track separated by a required number of tracks to reproduce the following I picture for rapid reproduction.
The optical disk apparatus 100 performs, for example, such processing as shown in FIG. 4 when, for example, only the I picture stored over the sectors (3)˜(4) of the optical disk 101 are reproduced for rapid reproduction in the forward direction.
In the first place, the system controller 118 of the optical disk apparatus 100 sets the value of the write-start-specifying address SSA at the sector (2) and the value of the write-end address ESA at the sector (99). And the system controller proceeds to reproduce in the forward direction from the sector (0) as shown in FIG. 4A.
Then, upon detecting the sector (2), as shown in FIG. 4B, the sector detection part 104 start writing the MPEG data stored in the sector (2) and thereafter in the ring buffer memory 106 through the memory controller 105.
Then, upon determining that data enough to fill a ECC block have been entered in the ring buffer memory 106, as shown in FIG. 4C, the memory controller 105 outputs the MPEG data stored in the sector (2) and thereafter from the ring buffer memory 106 to the error correction circuit 108 to start the correction of errors.
Then, upon the completion of the processes of error correction and error detection, the memory controller outputs again to the demultiplexer the MPEG data that had been written in the ring buffer memory to have them decoded by the video buffer 113 and the video decoder 111 (FIG. 4D, BUFF—RD). And in response thereto, the video decoder 111 decodes the inputted MPEG data (FIG. 4E, VIDEO—DEC), and outputs the same from the output terminal 115 to display a new I picture (I-pic(new)) on a display apparatus connected externally (FIG. 4F, DISPLAY). And in response to the completion of decoding, the optical pickup is made to jump track (FIG. 4A, jump).
Therefore, when a prior optical disk apparatus 100 proceeds to a rapid reproduction by using only I picture without perceiving the arrangement of I picture, the write-start-specifying address SSA is set at an appropriate value and then the reproduction starts. Thus, even when the I picture is arranged in the sectors (3)˜(4), extra sectors (6), (7) and so forth have been reproduced. Therefore, in the prior optical disk apparatus 100, the time spent until the reproduction of the following I picture was longer by the time required to reproduce extra MPEG data. The prior optical disk apparatus 100 contains a problem of a longer time interval for the reproduction of I pictures which in turn inhibits a smooth rapid reproduction.
In contrast thereto, as described in the Japanese Patent Application Laid Open 1996-79687, there is an optical disk apparatus that can detect the position of sectors including the MPEG data at the end of an I picture by analyzing the corrected MPEG data. The optical disk apparatus 100 and the optical disk apparatus described in the Japanese Patent Application Laid Open 1996-79687 are different in that ECC circuits (an error correction circuit 108 and an error detection circuit 109) and a stream detection circuit are connected before the ring buffer memory 106. Incidentally, in the following description, similar parts as the optical disk apparatus 100 are identified by using the same names.
This optical disk apparatus 100, having completed the error correction process on the MPEG data of sectors including the I picture and having stored the same in the ring buffer memory 106, makes the optical pickup 102 jump to a track separated by a specified number of tracks. Therefore, this optical disk apparatus 100 can reduce the time required for storing the MPEG data of the following I picture than the optical disk apparatus 100 by the time lasting from the moment of reading the MPEG data from the ring buffer memory 106 and writing the same into the decoder until the moment of reproducing the I picture on the decoder side.
In this optical disk apparatus 100, in case where for example the MPEG data of the I picture are stored over the sectors (3)˜(4) of the optical disk 101, the following steps are taken.
According to this FIG. 5, at first the system controller 118 sets the write-start-specifying address SSA on the sector (2) and the write-end address ESA on the sector (99), and the system controller 118 starts reproducing in the forward direction from the sector (0) (PB—DATA) as shown in FIG. 5A.
Then, the sector detection part 104, on detecting the MPEG data of the sector (2) from the MPEG data reproduced by the optical pickup 102 and inputted through the decoding circuit 103, writes the MPEG data contained in the sector (2) and thereafter at a time t2 and onward in the memory for error correction provided within the error correction circuit 108 (FIG. 5B, ECC—RAM—WR).
Then, upon the determination of the memory controller 105 that MPEG data enough to fill an ECC block have been stored in the memory for error correction, the system controller 118 controls the MPEG data contained in the sector (2) and thereafter and stored in the memory for error correction at the time t3 so that they may be processed for error correction and error detection (FIG. 5C, ECC).
Then, upon completion of the processing of the MPEG data contained in the sector (2) and thereafter for error correction and error detection, the data that have been processed for error correction are stored in the memory for error correction provided in the error correction circuit 108 and the data are outputted from the time t4 onward from the memory for error correction to a stream detection circuit not shown in the drawing (FIG. 5D, ECC—RAM—RD).
Then, the stream detection circuit detects the end of MPEG data of the I picture by referring to information stored in the picture headers added to various pictures (FIG. 5E, STREAM—DET).
Then, based on the information showing the end of the I picture detected by the stream detection circuit, the memory controller 105 writes the sectors (2)˜(4) containing the MPEG data from the beginning to the end of the MPEG data of the I picture into the ring buffer memory 106 (FIG. 5F, BUFF—WR).
Then, the memory controller 105 writes the MPEG data contained in the sector (2) and thereafter in the ring buffer memory 106, outputs the MPEG data contained in the sector (2) and thereafter from t5 onward in the demultiplexer 106 (FIG. 5G, BUFF—RD), and the video decoder 111 begins decoding the MPEG data of the I picture from the time t6 onward (FIG. 5H, VIDEO—DEC). And when the video decoder 111 finishes decoding, it outputs on an external display through the output terminal 115 to display the decoded I picture (FIG. 5I, DISPLAY).
In the processing shown in FIG. 5, when the stream detection circuit detects the end of the I picture in the MPEG data that have been processed for error correction and error detection, the system controller 118 makes the optical pickup 102 jump to another track in order to reproduce the following I picture.
Therefore, in a prior optical disk apparatus in which such processing is performed, in comparison with the case where a processing shown in FIG. 4 is performed, the time of starting track-jump is reduced by the time required for the video decoder 111 to decode the MPEG data contained in the I picture.
However, in the optical disk apparatus in which the processing shown in FIG. 5 is performed, the memory for error correction and the ring buffer memory 106 are separate, necessitating a time to transfer the MPEG data from the memory for error correction housed within the error correction circuit 108 to the ring buffer memory 106. In other words, in the optical disk apparatus 100 in which the processing shown in FIG. 5 is performed, it is necessary to detect the end of the I picture by the stream detection circuit after completing the processing for error correction and to store again the MPEG data lasting until the end of the I picture into the ring buffer memory 106 from the stream detection circuit. Therefore, even if the processing shown in FIG. 5 is performed, the time required until the reproduction of the following I picture becomes longer, which means a longer time interval for the reproduction of the I picture and the impossibility of obtaining a smooth rapid reproduction.
Furthermore, in the optical disk apparatus 100 in which the processing shown in FIG. 5 is performed, the ring buffer memory 106 and the memory for error correction are separate and the memory for error correction must be housed within the error correction circuit 108. These requirements resulted in a larger dimension of the whole apparatus.